
WINMOR TNC Revision History



Revision	Date		Description/changes

1.1.4.0		June 14,2010	Release of 1.1.3.1

1.1.3.1				Modified Squelch control to be disabled on loss of focus and require clicking "Squelch" label to enable. This prevents accidental change especially with mouse wheel.

1.1.3.0		June 13. 2010   Production release of 1.1.2.1

1.1.2.1		June 12, 2010	Change reset of intInactivityTimeout from 15 sec to 30 sec.  Added additional logging to track source of entry to disconnecting state. 
				Modification of ProcessNewCapturedData to avoid hangup
				Incorporation of Squelch control and setting
				Allow forcing Host address and Port number in command line startup
				Imported part of V4 TNC to use Goertzel TD and FSF to improve accuracy of leader detector and coarse symbol framing. Created new function ExtractEnvelope2 and modified SearchForLeaderTone3 to use these.
				Help and documentation updated.

1.1.2.0		May 12, 2010	Release of 1.1.1.5

1.1.1.5				Modified logging to show IntACK = -1 if frame ID decode failed.

1.1.1.4				Added while wait loop (300 ms max) in PlaySoundStream to wait for startup of objPlayback. Log if failure.
				Modified logging to use strLastWav in PlaySoundStream


1.1.1.3				Added synchlock in WMInterface.tmrPoll to insure synchronization with PlaySoundStream

1.1.1.2				changed Try/Catch logging in WMLinkProtocol.ProcessNewCapturedData to include stack trace to hunt down overflow problem.
				Modified AddToIBPacktsInProcess2 to delay distance error logging from 5*#carriers to 10*#ofCarriers 
				Modified criteria for shift to 4FSK if RObust = true to 4PSK score < 40 (was < 25) in WMLinkProtocol.CreateOBDataFrame
1.1.1.1				Put PTT Keying inside PlaySoundStream
				Remove all calls to PTT except for PlaySoundStream and timeouts.

1.1.1.0		May 8, 2010	Release of 1.1.0.6 

1.1.0.6				Added Connection State IRSModeShift to WMLinkProtocol.ProcessControl for Case Idle to eliminate hang if Answer to ISS Mode shift request results in an IDLE from ISS.
				Update of Help and Help index

1.1.0.5				Fixed failure to update capture state on WMLinkProtocol.SendNCar8PSKTCM.

1.1.0.4				Modify tmrPoll interval back to 32 ms with slow segment every 64 ms.

1.1.0.3				Modify exception logging if aborting playing sound wave or stuck PTT in WMInterface.tmrPoll
				Modify Sound card restart trip limit from 10 to 12 seconds. 
				Modify placement of dttLastSoundCardCapture=Now in WMInterface.ProcessCapturedData
				Remove nested Try/Catch in WMInterface.ProcessCapturedData

1.1.0.2				Move set of RecState = Transmitting to in front of every call to PlaySoundStream
				Put logic in WMInterface.ProcessCaptureData to not update water fall in Transmit mode.
				Add synclock objPlaySoundStreamLock in WMInterface.PlaySoundStream

1.1.0.1				Removed condition of Not PTT in test for restart in this statement of tmrPoll.Tick
				"If Now.Subtract(dttLastSoundCardCapture).TotalMilliseconds > 10000 And blnEnableCaptureRestart Then"

1.1.0.0		April 22, 2010	Release of 1.0.9.2 

1.0.9.2		April 20, 2010	Set RestartRecovery to reset dttLastReply to avoid a timeout after sound card restart.
				Changed sound card timeout trigger back to 10 sec (was 5) to see if it reduces the number of restarts.
 				Changed WMInterface.ProcessCapturedData to reset dttLastSoundCardCapture whenever bytCaptureData.length > 0 

1.0.9.1				Change RestartCaptureDevice to insure playback buffer is not playing and NOT reset WINMOR connection state.
				(need to verify this will recover a session)
				Modify WMInterface.tmrPoll to 20ms(was 32) with sub tick every 100ms (was 64). Move some functions to 100 ms poll. 
				Reduce timeout trigger for RestartCaptureDevice from 15 to 5 seconds.
				Try new Search for leader algorithm using WMDemodulate.SearchForLeaderTone3 which uses the Goertzel algorithm for non integer bin tone detection (more sensitivity and accuracy). Tests indicate Goertzel algorithm works and is more accurate using non integer frequency bins.
				Increase margin in GetRecycleTime to 300 ms (was 200 ms).
				Fixed non updates of dttLastGoodDecode in WMLinkProtocol (triggers use of Goertzel algorithm) 
				

1.0.9		April 17, 2010	Replace synchronous queue Play wave stream mechanism with call to (now Public) PlayWaveStream() in WMInterface. Eliminates tmrPoll ambiguity and latency. 
				Remove EarlyPTT function and call (no longer needed with above).
				Include automatic 40 ms Dwell in KeyPTT when going from Keyed to unkeyed.
				Added clear of blnIDSent to Initialize (caused extra data repeat on startup).
				Fix WMLinkProtocol.SendCWID to not show "-ssid" on transmit label.
				Use Global Call sign filters to check valid call sign for registration.

1.0.8.0		April 15, 2010	Release of version 1.0.7.2

1.0.7.2				Add additional down shift mechnanism in WMLinkProtocol.GearShiftAlgorithm based on time since last positive ACK response.  Should force downshift it > 45 sec since last dttReply (positive ACK).
				Add provision in WMLinkProtocol.CreateOBDataFrame to shift to 2Car4FSK mode if Robust = true, and > 30 seconds since last positive ACK.
				Make small tweak in BusyDetect to dblAvgBaselineFast = .5*(dblAvgBaseline + dblAvgBaselineFast) [was = dblAvgBaseline] to minimize BusyWide sensitivity to static crashes.
				Fix comparison in RestartCaptureDevice that did not force upper case.
				Make changes to accomodate large type fonts.

1.0.7.1				Changed measurement of turn around latency to occur only on initial response to data frame.
				Changed GetCycle length to use intMeasuredTurnAroundLatency
				Base intIDCycle calculation on intMeasuredTurnAroundLatency and recalc in MeasureLatency
				Initial intMeasuredTurnAroundLatency set to 1500 ms (a safe value)...normally measured latency will be 700-1200ms.
				Added mechanism for EarlyPTT upon initial connect request to insure proper PTT keying. Only affects initial answer ACK.


1.0.7.0		Mar 28, 2010	Add TCP Address parameter to basic setup and ini file. Defaults to "127.0.0.1"
				Updated documentation.

1.0.6.0		Mar 26, 2010	Change local host setting on WINMOR TNC TCP port to "127.0.0.1" to insure it is using local loop back and not default internet connection.
				Update help with firewall info.

1.0.5.0		Mar 25, 2010	Release (no changes from 1.0.4.1) 

1.0.4.1		Mar 24, 2010	Modified intTquiet to be set for 500 ms after decode of Connect request and then reset back to 2000 ms in Busy Detect. Should allow shortening Con Req cycle. 
				Increase exception error logging for port issues.

1.0.4.0		Mar 22, 2010	Addition of automatic Basic Setup menu popup if port conflict/failure detected on startup. Test of updated port and opption to loop back or end program if port conflict remains.
				Change Tquiet from 1800 ms to 1500 ms. 

1.0.3.0		Mar 16, 2010	Release of 1.0.3.0 no changes from 1.0.2.4

1.0.2.4		Mar 15, 2010	Fixed a problem in WMDecode.DecodeConReq4FSK that was not showing a monitored Con req to another call sign if sum check was OK.

1.0.2.3		Mar 15, 2010	Modify resetting of dttLastReply on a connect request only if it matches the session ID (keeps other connect requests from holding up timeout) 

1.0.2.2		Mar 15, 2010	Reduce Quiet time limit for non busy from 2000 ms to 1800 ms.
				Modify registration reminder to accept call sign in addition to registration key.

1.0.2.0		Mar 12, 2010	Tweaks in SearchForLeader2, and SoftExHammDecde2.  Move Threshold in leader detect from 2.5 to 2.0.
				Add Command MAXCONREQ <limit>  to adjust retry count limit 3-15  default = 5 (about 20 seconds)

1.0.1.0		Mar 4, 2010	Release for distribution ...no changes from 1.0.0.3

1.0.0.3		Mar 3, 2010	Added check for Nothing in AuxCalls() in WMDecode.DecodeConReq4FSK
				Changed intInactivityTimeout upon receipt of initial connect request from 20 to 30 sec. 
				Changed intConnectReqTimeout from 15 to 20 seconds.
				Added SetCaptureState(SearchForLeader) in WMLinkProtocol.ProcessID. This triggered a sound card restart if DecodeID4FSK failed.	
				Added asynchronous response "OFFSET" upon new tuning offset.
				Changed  intConReqCycle to 1195 + 256 + (22 * (intLeaderLength + intVoxExtension)) + 500 ms
				Remove Exception logging for DisplayConstellation and DisplayWaterfall errors.
				Modification of busy detector parameters. Minimum quiet before declearing clear = 2000, max pre ConReq Clear 500 ms, Connect request repeat cycle, 4200 ms, connect request frame length 1547 ms 
				Added support for SUFFIX command and Suffix CW ID.

1.0.0.2		Feb 28, 2010	Added command MYAUX to allow setting up to 10 auxillary call signs
				Added asynchronous response TARGET to identify connect target
				Modified registration pop up to only show on startup if not registered.

1.0.0.1		Feb 26, 2010	Increased timeout for sound card restart from 7 to 15 seconds.
				Adding test for Busy Lock on FEC send modes.
				Added test for Busy Lock on SendID command
				
1.0.0.0		Feb 26, 2010	Initial production release. Include 10 second sound card reset holdoff for CWID and send ID commands

0.4.1.11	Feb 25, 2010	Fixed error in 	WMDemodulate.AcquireFrameType4FSK that was causing premature abort (return -2) in some cases with sessions using VOX.
				Added ability to select sound card default in Basic Setup 
				Added Command and response listing in debug log to help application developers.
				Updated Help and documentation.
				Modifed FEC modes to no automatically send ID frame at beginning and end of FEC transmission to facilitate keyboard modes.

0.4.1.8		Feb 9, 2010	Made command BW return the value of stcConnectedCall.SessionBW which will be 0 if not connected and either 500 or 1600 if connected.

0.4.1.7		Feb 5, 2010	Fixed startup minimized functionality.

0.4.1.6		Feb 4, 2010	Added condition in WMLinkProtocol.ProcessData to skip decoding of frame types 8-11 (8 carrier) modes if not in 1600 bandwidth mode.
				Conditioned ACK of ID frame to only ACK if ID is to the station connected to.	

0.4.1.5		2/1/2010	Fixed checks for Amateur, MARS and UK Cadet call signs that were in RegistrationHelper to use global functions. verified with correct check of "CIW111".

0.4.1.4		1/27/2010	Added ini and COMMAND LEADEREXT allowing leader extension up to 24 symbols (256 ms). Not yet fully tested.
				Replaced INIFile with new version not using API to work around Vista problem.

0.4.1.3		1/25/2010	Removed NewState(Offline) in ProcessCapturedData now only command to go to state Offline is in StopCodec

0.4.1.2		1/24/2010	Added NewState(Disconnected) to WMInterface.RestartCaptureDevice upon successful restart.
				Added Transmit lable update during two tone test.

0.4.1.1		1/22/2010	Debugged FEC mode both 500 and 1600 Hz. Default is FEC receive = disabled.

0.4.1.0 	1/21/2010	Extended Trip time for dttLastSoundCardCapture from 3 to 7 seconds in WMInterface.tmrPoll
				Extended retry hold off from 20 to 30 seconds in WMInterface.tmrPoll
				In RestartCaptureDevice clear capture state and KeyPTT added.
				ProcessCapturedData: Move Reset of dttLastSoundCardCapture to Decimation code.
				Updated WMLinkProtocol.Process Control for case &HFF to not include state disconnecting.
				Extend intActivityTimeout from 15 to 20 seconds in WMLinkProtocol.DecodeFrames

0.4.0.8		1/12/2010	Fixed bug in tmrCallBack.Elapsed where tmrCallBack interval was not set to FSKCtrlCycle when in ISSModeShift.
				Increased window time on busy block to 1000 ms (was 500).


0.4.0.7		1/12/2010	Modified function RestoreOBQueueFromLastPSN to log and clear collections if intLastSequencedPSN = intLastPSKRestored to correct rare error in packet accounting.
				Modified SENDID command to condition on DISCONNECTED state and put in test Menu item to SENDID.

0.4.0.5		1/10/2010	Added condition to WMInterface.Codec property to include condition last sound card capture.

0.4.0.4		1/6/2010	Increased size of notification buffer to 64 notifications (about 5.4 seconds)
				Modified timeout and join time limits in StopCodec and RestartCodec functions
				Incorporated suggestions from Peter in WaitThread
				Additional additional Try/Catch and logging in ProcessCapturedData

0.4.0.0		1/3/2010	Added test for Average FSK Score of > 50 to allow 4PSK mode during proposal
				Modified GearShiftAlgorithm to use intPSK4To4FSKBackoff in shifting up to PSK modes.
				Modified PSK scoring algorithm to incorporate RMS calcualtion of both magnitude and phase
				Added 42 ms "back Porch" extension to PTT to accomodate sound path latency in FLEX radios.
				Initial coding (not fully tested) for 2 Car and 8 Car Viterbi 4FSK FEC broadcast modes.
				Changed Log names to WM TNC Debug and WM TNC Exception 